home *** CD-ROM | disk | FTP | other *** search
/ Openstep 4.2 (Developer) / Openstep Developer 4.2.iso / NextDeveloper / Examples / DriverKit / SMC16 / SMC16_reloc.tproj / SMC16.h < prev    next >
Encoding:
Text File  |  1997-03-29  |  1.7 KB  |  62 lines

  1. /*
  2.  * Copyright (c) 1993-1996 NeXT Software, Inc.
  3.  *
  4.  * Driver class for SMC EtherCard Plus Elite16 Ethernet adapters.
  5.  *
  6.  * HISTORY
  7.  *
  8.  * 26 Jan 1993 
  9.  *    Created.
  10.  */
  11.  
  12. #import <driverkit/IOEthernet.h>
  13. #import <driverkit/i386/directDevice.h>
  14. #import "SMC16Hdw.h"
  15. #import "wd83C690.h"
  16.  
  17. @interface SMC16:IOEthernet
  18. {
  19.     IOEISAPortAddress    base;        /* port base                  */
  20.     int            irq;        /* interrupt                 */
  21.     enet_addr_t        myAddress;    /* local copy of ethernet address    */
  22.     IONetwork        *network;    /* handle to kernel network object   */
  23.     
  24.     id            transmitQueue;    /* queue for outgoing packets          */
  25.     BOOL        transmitActive;    /* trasmit in progress              */
  26.     
  27.     vm_offset_t        membase;    /* base address of onboard memory    */
  28.     vm_size_t        memsize;    /* configured size of onboard memory */
  29.  
  30.     SMC16_len_t        memtotal;    /* actualy size of onboard memory    */
  31.     SMC16_len_t        memused;    /* amount of onboard memory in use   */
  32.     
  33.     SMC16_off_t        rstart;        /* ptr to 1st buffer in ring         */
  34.     SMC16_off_t        rstop;        /* ptr to last bufferin in ring      */
  35.     SMC16_off_t        rnext;        /* ptr to next avaliable buffer      */
  36.     
  37.     SMC16_off_t        tstart;        /* ptr to transmit buffer              */
  38.  
  39.     nic_rcon_reg_t    rconsave;    /* recv ctrl register value         */
  40. }
  41.  
  42. + (BOOL)probe:(IODeviceDescription *)devDesc;
  43.  
  44. - initFromDeviceDescription:(IODeviceDescription *)devDesc;
  45. - free;
  46.  
  47. - (IOReturn)enableAllInterrupts;
  48. - (void)disableAllInterrupts;
  49. - (BOOL)resetAndEnable:(BOOL)enable;
  50. - (void)timeoutOccurred;
  51. - (void)interruptOccurred;
  52.  
  53. - (BOOL)enablePromiscuousMode;
  54. - (void)disablePromiscuousMode;
  55. - (BOOL)enableMulticastMode;
  56. - (void)disableMulticastMode;
  57.  
  58. - (void)transmit:(netbuf_t)pkt;
  59.  
  60. @end
  61.  
  62.